package com.zhengbing.tj.service;

import com.zhengbing.tj.entity.AuditLog;
import org.springframework.scheduling.annotation.Async;

import java.util.List;

/**
 * 异步审计日志服务接口
 * 提供异步记录审计日志的功能
 *
 * @author zhengbing
 * @date 2024-08-22
 */
public interface AsyncAuditLogService {
    
    /**
     * 异步记录单条审计日志
     * @param log 审计日志对象
     */
    @Async("auditLogExecutor")
    void recordAuditLogAsync(AuditLog log);
    
    /**
     * 异步批量记录审计日志
     * @param logs 审计日志列表
     */
    @Async("auditLogExecutor")
    void batchRecordAuditLogsAsync(List<AuditLog> logs);
}